package com.lefevre.cms.bean.theme;

import lombok.Data;

import java.io.Serializable;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;

/**
 * 模板运行对象
 *
 * @author Lefevre
 */
@Data
public class ThemeRunObject implements Serializable {
    private static final long serialVersionUID = 920363926035083837L;

    /**
     * 布局文件名称
     **/
    private List<String> layoutFileList = new ArrayList<>();

    /**
     * 正在运行版块的引用代码
     **/
    private String referenceCode = "";

    /**
     * 提交参数
     **/
    private Map<String, Object> parameter = new HashMap<>();

    /**
     * 运行参数
     **/
    private Map<String, Object> runtimeParameter = new HashMap<>();


    /** 分页参数
     private Integer page;**/
    /** '更多'版块
     private Forum more_forum;**/

    /**
     * 添加布局文件名称
     *
     * @param layoutFile 布局文件名称
     */
    public void addLayoutFile(String layoutFile) {
        this.layoutFileList.add(layoutFile);
    }

    /**
     * 添加布局文件名称
     *
     * @param layoutFileList 布局文件名称集合
     */
    public void addAllLayoutFile(List<String> layoutFileList) {
        this.layoutFileList.addAll(layoutFileList);
    }

    /**
     * 添加提交参数
     */
    public void addParameter(String key, Object value) {
        this.parameter.put(key, value);
    }

    /**
     * 添加提交参数
     */
    public void addParameter(Map<String, Object> parameter) {
        this.parameter.putAll(parameter);
    }

    /**
     * 添加运行参数
     */
    public void addRuntimeParameter(String key, Object value) {
        this.runtimeParameter.put(key, value);
    }

    /**
     * 添加运行参数
     */
    public void addRuntimeParameter(Map<String, Object> parameter) {
        this.runtimeParameter.putAll(parameter);
    }

}
